package vcexam;

class Atom {
	Atom() {
		System.out.print("atom ");
	}
}

class Rock extends Atom {
	Rock(String type) {
		System.out.print(type);
	}
}

/*
 * otro ejemplo
 */
interface TestA {
	String toString();
}

public class Mountain extends Rock {
	Mountain() {
		super("granite ");
		new Rock("granite ");
	}

	/*
	 * 
	 */
public class Blip {
	protected int blipvert(int x) {
			return 0;
		}
	}

class Vert extends Blip {
//	public int blipvert(int x) { return 0; }
//	private int blipvert(int x) { return 0; }
//	private int blipvert(long x) { return 0; }
//	protected long blipvert(int x) { return 0; }
//	protected int blipvert(long x) { return 0; }
//	protected long blipvert(long x) { return 0; }
//	protected long blipvert(int x, int y) { return 0; }
	
	}

public static void main(String[] args) {
		/* 1. Ejemplo */

		// new Mountain();

		/* 2. Ejemplo */
		// System.out.println(new TestA() {
		// public String toString() {
		// return "test";
		// }
		// });

		/* 3. Ejemplo */
		parse("invalid");

	}

	public static void parse(String str) {
		try {
			float f = Float.parseFloat(str);
		} catch (NumberFormatException nfe) {
			// float f = 0; // asi funciona
			// f = 0; // asi no funciona
		} finally {
			// float f = 0; // hay que declarar un float. Con esto adicional
			// funciona
			// System.out.println(f); // asi no funciona
			System.out.println("asi no funciona");
		}
	}

}
